package com.elric.mall.dto;

import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
* 代码生成详细配置参数类
 *
 * @author yubaoshan
 * @date 2021-02-06 20:19:49
*/
public class SysCodeGenerateConfigParam {

    /**
     * 主键
     */
    private Long id;

    /**
     * 代码生成主表ID
     */
    private Long codeGenId;

    /**
     * 数据库字段名
     */
    private String columnName;

    /**
     * java类字段名
     */
    private String javaName;

    /**
     * 字段描述
     */
    private String columnComment;

    /**
     * java类型
     */
    private String javaType;

    /**
     * 作用类型（字典）
     */
    private String effectType;

    /**
     * 字典code
     */
    private String dictTypeCode;

    /**
     * 列表是否缩进（字典）
     */
    private String whetherRetract;

    /**
     * 是否必填（字典）
     */
    private String whetherRequired;

    /**
     * 是否是查询条件
     */
    private String queryWhether;

    /**
     * 查询方式
     */
    private String queryType;

    /**
     * 列表展示
     */
    private String whetherTable;

    /**
     * 增改
     */
    private String whetherAddUpdate;

    /**
     * 主外键
     */
    public String columnKey;

    /**
     * 主外键名称
     */
    public String columnKeyName;

    /**
     * 数据库中类型（物理类型）
     */
    public String dataType;

    /**
     * 是否是通用字段
     */
    public String whetherCommon;

    /**
     * 代码生成配置列表
     */
    @NotEmpty(message = "代码生成配置列表，请检查sysCodeGenerateConfigParamList参数")
    private List<SysCodeGenerateConfigParam> sysCodeGenerateConfigParamList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getCodeGenId() {
        return codeGenId;
    }

    public void setCodeGenId(Long codeGenId) {
        this.codeGenId = codeGenId;
    }

    public String getColumnName() {
        return columnName;
    }

    public void setColumnName(String columnName) {
        this.columnName = columnName;
    }

    public String getJavaName() {
        return javaName;
    }

    public void setJavaName(String javaName) {
        this.javaName = javaName;
    }

    public String getColumnComment() {
        return columnComment;
    }

    public void setColumnComment(String columnComment) {
        this.columnComment = columnComment;
    }

    public String getJavaType() {
        return javaType;
    }

    public void setJavaType(String javaType) {
        this.javaType = javaType;
    }

    public String getEffectType() {
        return effectType;
    }

    public void setEffectType(String effectType) {
        this.effectType = effectType;
    }

    public String getDictTypeCode() {
        return dictTypeCode;
    }

    public void setDictTypeCode(String dictTypeCode) {
        this.dictTypeCode = dictTypeCode;
    }

    public String getWhetherRetract() {
        return whetherRetract;
    }

    public void setWhetherRetract(String whetherRetract) {
        this.whetherRetract = whetherRetract;
    }

    public String getWhetherRequired() {
        return whetherRequired;
    }

    public void setWhetherRequired(String whetherRequired) {
        this.whetherRequired = whetherRequired;
    }

    public String getQueryWhether() {
        return queryWhether;
    }

    public void setQueryWhether(String queryWhether) {
        this.queryWhether = queryWhether;
    }

    public String getQueryType() {
        return queryType;
    }

    public void setQueryType(String queryType) {
        this.queryType = queryType;
    }

    public String getWhetherTable() {
        return whetherTable;
    }

    public void setWhetherTable(String whetherTable) {
        this.whetherTable = whetherTable;
    }

    public String getWhetherAddUpdate() {
        return whetherAddUpdate;
    }

    public void setWhetherAddUpdate(String whetherAddUpdate) {
        this.whetherAddUpdate = whetherAddUpdate;
    }

    public String getColumnKey() {
        return columnKey;
    }

    public void setColumnKey(String columnKey) {
        this.columnKey = columnKey;
    }

    public String getColumnKeyName() {
        return columnKeyName;
    }

    public void setColumnKeyName(String columnKeyName) {
        this.columnKeyName = columnKeyName;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public String getWhetherCommon() {
        return whetherCommon;
    }

    public void setWhetherCommon(String whetherCommon) {
        this.whetherCommon = whetherCommon;
    }

    public List<SysCodeGenerateConfigParam> getSysCodeGenerateConfigParamList() {
        return sysCodeGenerateConfigParamList;
    }

    public void setSysCodeGenerateConfigParamList(List<SysCodeGenerateConfigParam> sysCodeGenerateConfigParamList) {
        this.sysCodeGenerateConfigParamList = sysCodeGenerateConfigParamList;
    }
}
